Mobile communication devices have become popular for business and personal use due to a relatively recent increase in number of services and features that the devices and mobile infrastructures support. Handheld mobile communication devices, sometimes referred to as mobile devices, are essentially portable computers having wireless capability, and come in various forms. Examples of mobile devices include Personal Digital Assistants (PDAs), cellular phones and smart phones.
More recently, global positioning system (GPS) receivers have been integrated within such mobile devices for providing enhanced location-based services. In operation, a location-based application executing on the mobile device can use data obtained from a GPS receiver to provide a user with location information. This information can be used in conjunction with an application on the mobile device to provide the user with real-time location-based information.
In other implementations, the location-based application can use the data obtained from the GPS receiver as well as other data to send a request to an application server for desired information. If the mobile device is location aware, the request includes the current location of the device. The application server extracts content from a Geographic Information System (GIS) database and provides an appropriate response to the mobile device.
Accordingly, the application server can use real-time location-based information to provide a number of competitive advantages that come from accessing location information in real time. For example, mapping-applications can be used to provide the user with real-time mapping information. As another example, data can be pushed to the user in accordance with the user's determined geographic location.
Location-based applications can be generally divided into two categories: device-based location applications and server-based location applications.
Device-based location applications refer to applications run on GPS-equipped mobile devices. The device queries its current location via the GPS receiver and the application uses the device's current location information for providing service using GIS software installed on the device.
Server-based location applications refer to applications run on mobile devices that may or many not be GPS-equipped. Rather, a network server maintains a location of the mobile devices. This can be achieved by the mobile device obtaining its coordinates and transmitting them to the network server. Alternatively, the network server can obtain the location of the mobile device directly, using a number of known techniques. As long as the mobile device can connect with the network server, it can query its location from the network server rather than from the GPS receiver.
Accordingly, when designing a location-based application using either once of these types of applications, it is a challenge to determine how often the coordinates of the device should be obtained and/or transmitted to the network server.
A typical solution to this problem is to introduce polling. That is, at predetermined intervals, the mobile device obtains its location from the GPS receiver or the network server, depending on the implementation. However, obtaining the mobile device's location too infrequently may result in inadequate location information for the application. Conversely, obtaining the mobile device's location too frequently may place an unnecessary drain on the mobile device's battery and/or generate unnecessary data traffic.
The availability of mobile devices offering location-based services is expected to increase dramatically, and so are the related applications. Therefore, it can be seen that there is a need for an improved method for updating location information on a mobile device that addresses at least some of the concerns described above.